package com.project.service;

import com.github.pagehelper.PageInfo;
import com.project.bean.EmployeeBean;

import java.time.LocalDate;

/**
 * @author lyl
 * description:员工业务层接口
 */
public interface IEmployeeService {

    /**
     * 添加员工
     *
     * @param employeeBean 员工对象
     * @param deptId       部门id
     */
    void add(EmployeeBean employeeBean, int deptId);

    /**
     * 根据id删除员工
     *
     * @param employeeId
     */
    void del(int employeeId);

    /**
     * 按员工id修改员工部门和工资
     *
     * @param employeeId
     * @param deptId
     * @param money
     */
    void update(int employeeId, int deptId, int money);

    /**
     * 按id查询员工信息同时查询员工所属部门
     *
     * @param employeeId
     * @return 员工对象（包含部门）
     */
    EmployeeBean findById(int employeeId);

    /**
     * 按动态条件进行分页查询
     *
     * @param pageNo
     * @param employeeName 员工姓名
     * @param startDate    起始日期
     * @param endDate      结束日期
     * @return 分页对象
     */
    PageInfo<EmployeeBean> findByPage(int pageNo, String employeeName, LocalDate startDate, LocalDate endDate);


}
